//引入工具类
import util from '@/common/util.js';
//从工具类返回全局变量
/* 
 util.apiPath
 */

/**
 * 用JS获取地址栏参数的方法
 * @param name 参数名
 * @return boolean
 */
function GG(name) {
	var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
	var r = window.location.search.substr(1).match(reg);
	if (r != null) return unescape(r[2]);
	return false;
}

/**
 * 验证网址是否有效
 * */
function checkcUrl(urlStr) {
	//验证url网址
	if (urlStr) {
		//判断URL地址的正则表达式为:http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
		//下面的代码中应用了转义字符"\"输出一个字符"/"
		var Expression = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;
		var objExp = new RegExp(Expression);

		if (objExp.test(urlStr) != true) {
			//不正确
			return util.apiPath + urlStr;
		} else {
			//正确
			//ApiPath = '';
			return urlStr;
		}

	}
}

/**
 * 获取接口数据
 * 
 * url:请求地址
 * method:请求类型 默认请求 GET
 * Callback:回调处理
 * parameter:请求参数
 */

const uniRequest = (url, method, parameter, Callback) => {
	
	var pathUrl = checkcUrl(url);
	// 	//获取token，做数据请求权限授权
	// // 	var token = {
	// // 		token: getCookie('token')
	// // 	};
	var postData = Object.assign({}, parameter);
	
	if(typeof method == 'function'){
		Callback = method;
	}
	if(typeof parameter =='function'){
		Callback = parameter;
	}
	
    uni.request({
        url: pathUrl,
        data: postData,
        method: method,
        dataType: 'json',
		success: (res) => {
			var rs = res.data;
			if (rs.code == '200') {
				Callback(rs);
			} else {
				uni.showToast({
					title: rs.message,
					duration: 2000
				})
			}
		},
		fail:(error) => {
			uni.showToast({
				title: error,
				duration: 2000
			})
		}
    })
}
// 
// module.exports = {
// 	uniRequest: uniRequest
// }
// 
export default {
	uniRequest: function(url, method, parameter, Callback) {
		return uniRequest(url, method, parameter, Callback);
	}
}


/* 
 实例：
import ajax from '@/common/request.js'; 

默认get 请求

var parameter = {"name":"user"}
ajax.uniRequest("/api/user","POST",parameter,Callback);

 */



// 
// module.exports = {
// 	uniRequest: uniRequest
// }
// 